package com.kingdee.eas.fi.fa.manage.app;

import javax.ejb.*;
import java.rmi.RemoteException;
import com.kingdee.bos.*;
import com.kingdee.bos.util.BOSObjectType;
import com.kingdee.bos.metadata.IMetaDataPK;
import com.kingdee.bos.metadata.rule.RuleExecutor;
import com.kingdee.bos.metadata.MetaDataPK;
//import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.bos.framework.ejb.AbstractEntityControllerBean;
import com.kingdee.bos.framework.ejb.AbstractBizControllerBean;
//import com.kingdee.bos.dao.IObjectPK;
import com.kingdee.bos.dao.IObjectValue;
import com.kingdee.bos.dao.IObjectCollection;
import com.kingdee.bos.service.ServiceContext;
import com.kingdee.bos.service.IServiceContext;
import com.kingdee.eas.framework.Result;
import com.kingdee.eas.framework.LineResult;
import com.kingdee.eas.framework.exception.EASMultiException;
import com.kingdee.bos.dao.ormapping.ObjectUuidPK;

import java.lang.String;
import com.kingdee.eas.common.EASBizException;
import java.util.Map;



public abstract class AbstractFaChangeBillForHrFacadeControllerBean extends AbstractBizControllerBean implements FaChangeBillForHrFacadeController
{
    protected AbstractFaChangeBillForHrFacadeControllerBean()
    {
    }

    protected BOSObjectType getBOSType()
    {
        return new BOSObjectType("5DE00952");
    }

    public void createNewFaChangeBill(Context ctx, String personID, String newOrgUnitID) throws BOSException, EASBizException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("6c33b47b-c43d-4ac7-b370-6ca1717d1953"), new Object[]{ctx, personID, newOrgUnitID});
            invokeServiceBefore(svcCtx);
            _createNewFaChangeBill(ctx, personID, newOrgUnitID);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            this.setRollbackOnly();
            throw ex;
        } catch (EASBizException ex0) {
            this.setRollbackOnly();
            throw ex0;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _createNewFaChangeBill(Context ctx, String personID, String newOrgUnitID) throws BOSException, EASBizException;

    public void createNewFaChangeBill(Context ctx, Map person_newOrg) throws BOSException, EASBizException
    {
        try {
            ServiceContext svcCtx = createServiceContext(new MetaDataPK("8598ee7c-35f3-4a72-9954-2bd77fd3cb6a"), new Object[]{ctx, person_newOrg});
            invokeServiceBefore(svcCtx);
            _createNewFaChangeBill(ctx, person_newOrg);
            invokeServiceAfter(svcCtx);
        } catch (BOSException ex) {
            this.setRollbackOnly();
            throw ex;
        } catch (EASBizException ex0) {
            this.setRollbackOnly();
            throw ex0;
        } finally {
            super.cleanUpServiceState();
        }
    }
    protected abstract void _createNewFaChangeBill(Context ctx, Map person_newOrg) throws BOSException, EASBizException;

}